A method and apparatus are described in the Swedish Patent Application No. 8106444-6 for achieving adaptive echo cancellation. The principle of the apparatus will be apparent from the appended FIG. 1. The data sequences b.sub.n and a.sub.n are transmitted on the conductor pair to and from the remote end, repectively. The local end receive units not only receive the signal w(t) from the remote end but also a signal h(t) coming from the local transmitter S. In practical cases, the amplitude of the h(t) signal may be very much greater than that of the w(t) signal. To enable correct detection in the detector D a signal y(t) is subtracted from the received signal. The former is the output signal from the balance filter B, the input signal of which comes from the data sequence b.sub.n. The balance filter B is adjusted adaptively with the aid of the correlator unit KB so that y(t) and h(t) become equal in the sampling instants kT. After subtraction there only remains the w(t) signal from which data from the remote end can be extracted.
The balance filter should be of the FIR type (Finite Impulse Response). The output signal of such a filter is defined thus: EQU y.sub.k =y.sub.k (c,x.sub.k)
where the parameters of the filter are represented by the vector EQU c=(c.sub.0, c.sub.1, . . . , c.sub.M-1)
and the input signal is written in vector form: EQU x.sub.k =(x.sub.k, x.sub.k-1, . . . , x.sub.k-N+1)
By correlating its input signals the correlator unit KB calculates a correction of the filter parameters: EQU c(k+1)=c(k)+.DELTA.c(k)
where c(k) is the filter parameter vector at the time kT and .DELTA.c(k) is a correction vector.
The conventional implementation of an FIR filter utilizes the vector multiplication: ##EQU1## Here the number of parameters is thus N.
Another way in which to realize a filter of the FIR type is to utilize table look-up. All conceivable output signals are stored in a memory. If each input signal sample x.sub.n can assume L discrete levels the number of possible output signals will be: EQU M=L.sup.N
For the memory size to be reasonable, L and N must be relatively small. The implementation can be interesting, particularly in binary data transmission (L=2). The filter input signal vector x.sub.k with N components determines an address j which points out a definite filter parameter c.sub.j in the memory. EQU y.sub.k =c.sub.j ; j=j(x.sub.k)
In vector multiplication the correction vector will be: EQU .DELTA.c(k)=(.DELTA.c.sub.0, .DELTA.c.sub.1, . . . , .DELTA.c.sub.N-1)
i.e. all the parameters are updated simultaneously.
In the table look-up the correction vector will be: EQU .DELTA.c(k)=(0,0, . . . .DELTA.c.sub.j, 0 . . . , 0)
i.e. only one of the parameters is updated at each correction occasion.
It will be seen from the above that the table filter results in large memory space if N is large (the memory size increases exponentially with n). Since in many practical cases it may be necessary to have a relatively large value of N, the table filter discussed above may be unsuitable.
The transmitter unit S, coupler G and lowpass filter LP as well as other units not shown in FIG. 1 in the transmitter-receiver unit give rise to nonlinearities. The signal w(t) coming to the hybrid coupler G from the remote end is comparatively weak. The signal h(t) from the transmitter unit S through the coupler G (the leal signal) is, on the other hand, at least at the beginning of transmit-receive sequence, relatively strong before echo cancellation has managed to come into action. In practical cases, the signal h(t) may be much greater than w(t), e.g. a hundred times as great. Since the signal h(t) passed a nonlinear signal path, components from a given transmitted data symbol b.sub.k arise in the signal h(t), for which a linear balance filter normally cannot compensate. Since the leak signal h(t) can be very much greater than the signal w(t) from the remote end, a minor nonlinearity in the system may also be devastating for echo cancellation if the nonlinearity cannot be compensated.